perm filename INST3.LSP[F76,JMC] blob
sn#254299 filedate 1976-12-27 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 (DEFUN INST (PAT EXPR ALISTS)
C00003 ENDMK
Cā;
(DEFUN INST (PAT EXPR ALISTS)
(COND
((ISVAR PAT)
(INSTVAR PAT EXPR ALISTS)
)
((ATOM PAT) (COND ((EQ PAT EXPR) ALISTS) (T NIL)))
(T (INST (CDR PAT) (CDR EXPR) (INST (CAR PAT) (CAR EXPR) ALISTS)))))
(DEFUN INSTVAR (PAT EXPR ALISTS)
(COND
((NULL ALISTS) NIL)
(T ((LAMBDA (Z) (COND
((NULL Z) (CONS (CONS (CONS PAT EXPR) (CAR ALISTS)) (INSTVAR PAT EXPR
(CDR ALISTS))))
((EQUAL (CDR Z) EXPR) (CONS (CAR ALISTS) (INSTVAR PAT EXPR (CDR ALISTS))))
(T (INSTVAR PAT EXPR (CDR ALISTS)))))
(ASSOC PAT (CAR ALISTS))))))
(DEFUN ISVAR (PAT) (AND (ATOM PAT) (EQ (CAR (EXPLODE PAT)) '?)))